common.skill

সি কন্ট্রোল স্টেটমেন্ট (C Control Statement)

Computer Programming - সি প্রোগ্রামিং (C Programming)
1.7k
1.7k

কন্ট্রোল স্টেটমেন্ট হল এমন স্টেটমেন্টস যা প্রোগ্রামের নিয়ন্ত্রণ কাঠামো নিয়ন্ত্রণ করে, অর্থাৎ তারা কোন অংশে কার্যকরী হবে তা নির্ধারণ করে। সি প্রোগ্রামিং ভাষায় তিন ধরনের কন্ট্রোল স্টেটমেন্ট রয়েছে:

  1. নির্দেশিক স্টেটমেন্ট (Sequential Statements): সাধারণত প্রোগ্রামের স্টেটমেন্টগুলো একটি একের পর এক চলতে থাকে, তবে কন্ট্রোল স্টেটমেন্টের মাধ্যমে আমরা তাদের নিয়ন্ত্রণ করতে পারি।
  2. শর্তযুক্ত স্টেটমেন্ট (Conditional Statements): শর্ত অনুসারে কোনো কোড ব্লক কার্যকর হবে, যেমন if, else, এবং switch স্টেটমেন্ট।
  3. লুপিং স্টেটমেন্ট (Looping Statements): কোনো কোড নির্দিষ্ট সংখ্যক বার বা একটি শর্ত পূর্ণ হওয়া পর্যন্ত চলতে থাকে, যেমন for, while, এবং do-while স্টেটমেন্ট।

এগুলির মাধ্যমে সি প্রোগ্রামে কার্যক্রম নিয়ন্ত্রণ করা যায়।


১. শর্তযুক্ত স্টেটমেন্ট (Conditional Statements)

শর্তযুক্ত স্টেটমেন্ট ব্যবহার করে আমরা শর্তানুযায়ী কোনো কোড ব্লক চালাতে পারি। সি ভাষায় প্রধান শর্তযুক্ত স্টেটমেন্টগুলি হল if, else if, এবং switch.

if স্টেটমেন্ট:

if স্টেটমেন্ট শর্ত পূর্ণ হলে একটি নির্দিষ্ট কোড ব্লক চালায়।

#include <stdio.h>

int main() {
    int a = 5, b = 10;
    
    if (a > b) {
        printf("a is greater than b\n");
    }

    return 0;
}

ব্যাখ্যা:

  • if (a > b): যদি a এর মান b থেকে বড় হয়, তবে if ব্লক কার্যকর হবে।

else স্টেটমেন্ট:

else স্টেটমেন্ট if শর্ত মিথ্যা হলে কার্যকর হয়।

#include <stdio.h>

int main() {
    int a = 5, b = 10;
    
    if (a > b) {
        printf("a is greater than b\n");
    } else {
        printf("b is greater than a\n");
    }

    return 0;
}

ব্যাখ্যা:

  • else: যদি if শর্ত মিথ্যা হয়, তবে else ব্লক কার্যকর হবে।

else if স্টেটমেন্ট:

একাধিক শর্ত যাচাই করতে else if ব্যবহৃত হয়।

#include <stdio.h>

int main() {
    int a = 5, b = 5;
    
    if (a > b) {
        printf("a is greater than b\n");
    } else if (a < b) {
        printf("b is greater than a\n");
    } else {
        printf("a and b are equal\n");
    }

    return 0;
}

ব্যাখ্যা:

  • এখানে প্রথমে if চেক করা হয়, যদি তা মিথ্যা হয় তবে else if চেক হয়, এবং যদি সব শর্ত মিথ্যা হয় তবে else কার্যকর হবে।

switch স্টেটমেন্ট:

switch স্টেটমেন্ট একাধিক বিকল্পের মধ্যে একটি সঠিক বিকল্প নির্বাচন করতে ব্যবহৃত হয়।

#include <stdio.h>

int main() {
    int num = 2;

    switch (num) {
        case 1:
            printf("One\n");
            break;
        case 2:
            printf("Two\n");
            break;
        case 3:
            printf("Three\n");
            break;
        default:
            printf("Invalid number\n");
    }

    return 0;
}

ব্যাখ্যা:

  • switch: এটি একটি নির্দিষ্ট মানের জন্য নির্ধারিত কোড ব্লক কার্যকর করে। break স্টেটমেন্টটি প্রয়োজনীয়, যাতে পরবর্তী case ব্লকটি কার্যকর না হয়।

২. লুপিং স্টেটমেন্ট (Looping Statements)

লুপিং স্টেটমেন্ট ব্যবহার করে কোনো কোড বার বার চালানো যায়। সি ভাষায় প্রধান লুপিং স্টেটমেন্টগুলি হল for, while, এবং do-while.

for লুপ:

for লুপ নির্দিষ্ট সংখ্যক বার একটি কোড ব্লক কার্যকর করে।

#include <stdio.h>

int main() {
    for (int i = 0; i < 5; i++) {
        printf("Iteration %d\n", i);
    }

    return 0;
}

ব্যাখ্যা:

  • for (int i = 0; i < 5; i++): এটি ৫ বার লুপ চালাবে, এবং প্রতিবার i এর মান প্রিন্ট করবে।

while লুপ:

while লুপ একটি শর্ত সঠিক হওয়া পর্যন্ত কোড চালাতে থাকে।

#include <stdio.h>

int main() {
    int i = 0;

    while (i < 5) {
        printf("Iteration %d\n", i);
        i++;
    }

    return 0;
}

ব্যাখ্যা:

  • while (i < 5): যতক্ষণ না i এর মান ৫ এর কম, লুপ চলবে। এখানে i++ দিয়ে i এর মান বাড়ানো হয়।

do-while লুপ:

do-while লুপে কোড প্রথমে একবার চালানো হয় এবং পরে শর্ত চেক করা হয়।

#include <stdio.h>

int main() {
    int i = 0;

    do {
        printf("Iteration %d\n", i);
        i++;
    } while (i < 5);

    return 0;
}

ব্যাখ্যা:

  • do { ... } while (i < 5);: কোডটি প্রথমে একবার চলবে, তারপর শর্ত পরীক্ষা হবে। এর ফলে কমপক্ষে একবার কোড চলবে।

৩. ব্রেক এবং কন্টিনিউ (Break and Continue)

  • break: লুপ বা সুইচ স্টেটমেন্ট থেকে বের হতে ব্যবহৃত হয়।
  • continue: লুপে পরবর্তী পুনরাবৃত্তিতে যেতে ব্যবহৃত হয়।

break উদাহরণ:

#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            break;  // Exit the loop when i is 5
        }
        printf("%d\n", i);
    }

    return 0;
}

continue উদাহরণ:

#include <stdio.h>

int main() {
    for (int i = 0; i < 10; i++) {
        if (i == 5) {
            continue;  // Skip the rest of the loop when i is 5
        }
        printf("%d\n", i);
    }

    return 0;
}

সারসংক্ষেপ:

সি প্রোগ্রামিং ভাষায় কন্ট্রোল স্টেটমেন্ট এর মাধ্যমে আমরা প্রোগ্রামের কার্যক্রম নিয়ন্ত্রণ করতে পারি। শর্তযুক্ত স্টেটমেন্ট (if, else, switch) এবং লুপিং স্টেটমেন্ট (for, while, do-while) আমাদের বিভিন্ন শর্ত এবং পুনরাবৃত্তি কাজ করতে সাহায্য করে। এছাড়া, break এবং continue ব্যবহার করে লুপের গতিকে নিয়ন্ত্রণ করা সম্ভব।

common.content_added_by

সি ইফ (C if statement)

296
296

সিদ্ধান্ত গ্রহণের জন্য প্রোগ্রামিং এ সচরাচর কন্ডিশনাল(conditional) স্টেটমেন্ট ব্যবহৃত হয়। এই অধ্যায়ে আপনি সি প্রোগ্রামিং if কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে সিদ্ধান্ত গ্রহণ করা শিখবেন।


সি প্রোগ্রামিং ইফ স্টেটমেন্ট

 

সি প্রোগ্রামিং এ তিন ধরণের if কন্ডিশনাল(conditional) স্টেটমেন্ট রয়েছেঃ

  1. ইফ-if
  2. ইফ...এলস- if...else
  3. ইফ...এলসইফ...এলস - if...elseif...else

 

সি if স্টেটমেন্ট সিন্ট্যাক্স


if (testExpression) 
{
   // এই কোড এক্সিকিউট হবে। 
}

 

এখানে if প্রথমে testExpression-কে মূল্যায়ন করে।

 

testExpression যদি True(শূন্য না) হয় তাহলে if ব্লকের মধ্যে অবস্থিত স্টেটমেন্ট/স্টেটমেন্টসমূহ সম্পাদিত হবে।

testExpression যদি False(শূন্য) হয় তাহলে if ব্লকের মধ্যে অবস্থিত স্টেটমেন্ট/স্টেটমেন্টসমূহ এড়িয়ে যাবে।

testExpression এর ভ্যালু কখন True এবং কখন False হয় তা আমাদের রিলেশনাল(relational) এবং লজিক্যাল(logical) অপারেরটর পেজে আলোচনা করা হয়েছে।


সি if স্টেটমেন্টের ফ্লোচার্ট

if স্টেটমেন্ট এর ফ্লোচার্ট

 

উদাহরনঃ সি if স্টেটমেন্ট

 

kt_satt_skill_example_id=147


ইউজার যখন 5 প্রবেশ করায় তখন টেস্ট এক্সপ্রেশন (testNumber > 0) True হয়। সুতরাং আপনার প্রবেশ করানো 5 প্রদর্শিত হবে।


 

আউটপুট ২

Enter an integer: -6 The if statement is easy in C programming.

ইউজার যখন -6 প্রবেশ করায় তখন টেস্ট এক্সপ্রেশন (testNumber < 0) False হয়। সুতরাং কম্পাইলার if এর ভেতরের স্টেটমেন্টকে এড়িয়ে যায়।


 

if স্টেটমেন্ট ভালভাবে বুঝার জন্য নিন্মে আরো একটি উদাহরণ দেওয়া হলোঃ

kt_satt_skill_example_id=150

 

common.content_added_and_updated_by

সি ইফ...ইলস (C if ... else statement)

506
506

সিদ্ধান্ত গ্রহণের জন্য প্রোগ্রামিং এ সচরাচর কন্ডিশনাল(conditional) স্টেটমেন্ট ব্যবহৃত হয়। এই অধ্যায়ে আপনি সি প্রোগ্রামিং if...else এবং নেস্টেড if...else স্টেটমেন্ট ব্যবহার করে সিদ্ধান্ত গ্রহণ করা শিখবেন।


সি if...else স্টেটমেন্ট

 

কন্ডিশন True হলে কিছু কোড এবং False হলে অন্য কিছু কোড সম্পাদন(execution) এর জন্য সি if...else স্টেটমেন্ট ব্যবহৃত হয়।


if...else সিনট্যাক্স

 


if (testExpression) {
    // True হলে এই কোড এক্সিকিউট হবে। 
}
else {
    // False হলে এই কোড এক্সিকিউট হবে। 
}

 

টেস্ট এক্সপ্রেশন True হলে if স্টেটমেন্টের কোড ব্লক এক্সিকিউট হবে এবং else স্টেটমেন্টের কোড ব্লককে এড়িয়ে যাবে।

টেস্ট এক্সপ্রেশন false হলে else স্টেটমেন্টের কোড ব্লক সম্পাদিত হবে এবং if স্টেটমেন্টের কোড ব্লককে এড়িয়ে যাবে।


if...else স্টেটমেন্টের ফ্লোচার্ট

 

if...else statement এর ফ্লোচার্ট

 

উদাহরন ১: সি if...else স্টেটমেন্ট

 

kt_satt_skill_example_id=157

 

উদাহরন ২: সি if...else স্টেটমেন্ট

 

kt_satt_skill_example_id=158


যখন ইউজার 9 প্রবেশ করায় তখন টেস্ট এক্সপ্রেশন (testNumber%2 == 0 ) এর ভ্যালু false হয়। সুতরাং else স্টেটমেন্টের মধ্যে অবস্থিত printf("%d is an odd integer"); স্টেটমেন্ট এক্সিকিউশন হয় এবং if এর মধ্যে অবস্থিত স্টেটমেন্টকে এড়িয়ে যায়।


নেস্টেট if...else স্টেটমেন্ট

কন্ডিশন True/False যাই হোক না কেন আমরা কোড এক্সিকিউট করতে চাই অর্থাৎ সিদ্ধান্ত গ্রহণ করতে চাই সেক্ষেত্রে if...else স্টেটমেন্ট ব্যবহৃত হয়। কিন্তু মাঝে মাঝে সিদ্ধান্ত গ্রহণ দুই এর অধিক কন্ডিশনের উপর নির্ভর করতে পারে।

দুই এর অধিক এক্সপ্রেশনকে টেস্ট করে কোড এক্সিকিউট করার জন্য নেস্টেড if...else স্টেটমেন্ট ব্যবহৃত হয়।


 

নেস্টেট if...else সিনট্যাক্স


if (testExpression1) 
{
  //testExpression1  True হলে এই কোড এক্সিকিউট হবে।  
}
else if(testExpression2) 
{
  // testExpression1 false এবং testExpression2  True হলে এই কোড ব্লক এক্সিকিউট হবে।
}
else if (testExpression3) 
{
  //testExpression1  ও testExpression2 false এবং testExpression3 True হলে এই কোড ব্লক এক্সিকিউট হবে।
}
.
.
else 
{
  // সকল testExpression false হলে এই কোড ব্লক এক্সিকিউট হবে। 
}

উদাহরন ১: সি নেস্টেড if...else স্টেটমেন্ট

kt_satt_skill_example_id=159

উদাহরন ২: সি নেস্টেড if...else স্টেটমেন্ট

kt_satt_skill_example_id=160

অনেক ভ্যালুর বিপরীতে সিদ্ধান্ত গ্রহণের জন্য আপনি সুইস(switch) স্টেটমেন্টও ব্যবহার করতে পারেন।

common.content_added_and_updated_by

সি ফর লুপ (C for loop)

543
543

কোনো নির্দিষ্ট কোড ব্লককে রিপিট(repeat) করার জন্য প্রোগ্রামিং এ লুপ(loop) ব্যবহৃত হয়। এই অধ্যায়ে আপনি সি প্রোগ্রামিং এ for লুপ তৈরি করা শিখবেন।


কন্ডিশন(condition) মিথ্যা না হওয়া পর্যন্ত কোনো কোড ব্লককে রিপিট(repeat) করার জন্য প্রোগ্রামিং এ লুপ ব্যবহৃত হয়। সি প্রোগ্রামিং এ তিন ধরণের লুপ রয়েছেঃ

  1. সি ফর লুপ-for loop
  2. সি হোয়াইল লুপ - while loop
  3. সি ডু...হোয়াইল লুপ - do...while loop

 

সি for লুপ

 

 সি for লুপের সিনট্যাক্স


for (initializationStatement; testExpression; updateStatement)
{
       //  এই কোড এক্সিকিউট হবে
}

 


ফর লুপ কিভাবে কাজ করে?

 

  • initializationStatement কেবলমাত্র একবার এক্সিকিউট(execute)হয়।
  • তারপরে testExpression এক্সিকিউট হয়। ইহা false(0) হলে for লুপের সমাপ্তি ঘটে। কিন্তু টেস্ট এক্সপ্রেশনের ভ্যালু যদি True হয় তাহলে for লুপের কোড ব্লক এক্সিকিউট হয় এবং updateStatement এর ভ্যালু আপডেট হয়।
  • testExpression মিথ্যা না হওয়া পর্যন্ত ইহা চলতেই থাকে।

নোটঃ ইটারেশন(iteration) এর সংখ্যা আগে থেকে জানা থাকলে সাধারণত for লুপ ব্যবহৃত হয়।

testExpression এর ভ্যালু কখন True এবং কখন False হয়ঃ রিলেশনাল(relational) এবং লজিক্যাল(logical) অপারেরটর পেজে আলোচনা করা হয়েছে।


for লুপের ফ্লোচার্ট

সি ফর লুপ


উদাহরণ ১: for loop

kt_satt_skill_example_id=202

উদাহরণ ২: for loop

kt_satt_skill_example_id=204

উপরের উদাহরণের ব্যাখ্যাঃ

  • ইউজার কর্তৃক প্রবেশ করানো ভ্যালু num ভ্যারিয়েবলে জমা হয়। ধরে নিই, ইউজার 10 প্রবেশ করিয়েছে।
  • count ভ্যারিয়েবলের ইনিশিয়াল(initial) ভ্যালু 1 এসাইন(assign) করা হয়েছে এবং test expression মূল্যায়িত হবে। যেহেতু count <= num (10 এর চেয়ে 1 ছোট) সত্য, সুতরাং লুপের কোড ব্লক এক্সিকিউট(execute) হবে এবং sum এর ভ্যালু 1 এর সমান হবে।
  • তারপরে updateStatement ++count এক্সিকিউট হয়ে count এর ভ্যালু 2 এর সমান হবে। পুনরায় testExpression এক্সিকিউট হবে। যেহেতু 10 এর থেকে 2 ছোট, সুতরাং testExpression এর ভ্যালু true হবে এবং লুপের কোড ব্লক এক্সিকিউট হবে। sum এর ভ্যালু 3 এর সমান হবে।
  • count এর ভ্যালু 11 এ না পৌঁছা পর্যন্ত এই প্রক্রিয়া চলতে থাকবে এবং sum এর ভ্যালু নির্ণয় হবে।
  • যখন count এর ভ্যালু 11 এর সমান হবে তখন testExpression মিথ্যা হয়ে যাবে কারণ 10 এর চেয়ে 11 ছোট বা সমান নয়। সুতরাং এখানে লুপের সমাপ্তি ঘটবে এবং এর পরবর্তী কোড সম্পাদিত হবে। লুপ শেষে sum প্রিন্ট হবে।
common.content_added_and_updated_by

সি হোহাইল লুপ (C while loop)

364
364

নির্দিষ্ট কোড ব্লককে রিপিট(repeat) করার জন্য প্রোগ্রামিং এ লুপ ব্যবহৃত হয়। এই অধ্যায়ে আপনি সি প্রোগ্রামিং এ while লুপ তৈরি করা শিখবেন।


সর্বশেষ শর্তে না পৌঁছা পর্যন্ত নির্দিষ্ট কোড ব্লককে রিপিট(repeat) করার জন্য লুপ ব্যবহৃত হয়। সি প্রোগ্রামিং এ তিন ধরণের লুপ রয়েছেঃ

  1. ফর লুপ - for loop
  2. হোয়াইল লুপ - while loop
  3. ডু...হোয়াইল লুপ - do...while loop


 

হোয়াইল লুপের সিনট্যাক্সঃ

while (testExpression) 
{
    //এই কোড এক্সিকিউট হবে  
}

 


হোয়াইল লুপ কিভাবে কাজ করে?

  • while লুপ প্রথমে testExpression কে নির্ণয় করে।
  • যদি testExpression এর এর ভ্যালু true হয় তাহলে while লুপের ভেতরের কোড এক্সিকিউট(execute) হয়। testExpression পূনরায় নির্ণয় হয়। test expression এর ভ্যালু false(0) না হওয়া পর্যন্ত এই প্রক্রিয়া চলতে থাকে।
  • যখন testExpression এর ভ্যালু false হয় তখন while লুপের সমাপ্তি ঘটে।

হোয়াইল লুপের ফ্লোচার্ট

সি প্রোগ্রামে হোয়াইল লুপ


উদাহরন ১: হোয়াইল লুপ

kt_satt_skill_example_id=206

উদাহরন 2: হোয়াইল লুপ

kt_satt_skill_example_id=208

common.content_added_and_updated_by

সি ডু...হোহাইল লুপ (C do...while loop)

505
505

সি প্রোগ্রামে do...while লুপ কমপক্ষে একবার এক্সিকিউশনের নিশ্চয়তা দিয়ে থাকে। এই অধ্যায়ে আপনি সি প্রোগ্রামে do...while লুপ তৈরি করা শিখবেন।


সর্বশেষ শর্তে না পৌঁছা পর্যন্ত নির্দিষ্ট কোড ব্লককে রিপিট(repeat) করার জন্য লুপ ব্যবহৃত হয়। সি প্রোগ্রামিং এ তিন ধরণের লুপ রয়েছেঃ

  1. ফর লুপ - for loop
  2. হোয়াইল লুপ - while loop
  3. ডু...হোয়াইল লুপ - do...while loop

সি প্রোগ্রামিং do...while লুপের সিনট্যাক্স

 

do
{
   // এই কোড এক্সিকিউট হবে
}
while (testExpression);

Copy

শুধুমাত্র একটি গুরুত্বপূর্ণ পার্থক্য ছাড়া do..while লুপ এবং while লুপ একই রকম। testExpression কে চেক করার পূর্বেই do...while লুপের কোড ব্লক একবার এক্সিকিউশন(execution) হয়। সুতরাং do...while লুপ কমপক্ষে একবার এক্সিকিউশন হয়।


সি প্রোগ্রামিং do...while লুপ কিভাবে কাজ করে?

  • দ্বিতীয় বন্ধনীর ভেতরের কোড ব্লক প্রথমে একবার সম্পাদিত(executed) হয়।
  • তারপরে testExpression নির্ণয় হয়। যদি testExpression সত্য হয় তাহলে লুপের বডি পূনরায় সম্পাদিত হয়। টেষ্ট এক্সপ্রেশন মিথ্যা না হওয়া পর্যন্ত এই প্রক্রিয়া চলতে থাকে।
  • যখন টেষ্ট এক্সপ্রেশন মিথ্যা হয়ে যায় বা ভ্যালু 0(শূন্য) হয় তখন do...while লুপের সমাপ্তি ঘটে।

সি প্রোগ্রামিং ডু...হোয়াইল লুপের ফ্লোচার্ট


 

সি প্রোগ্রামিং ডু হোহাইল লুপ


উদাহরণ ১: ডু...হোয়াইল লুপ

 

kt_satt_skill_example_id=217

 

উদাহরণ ২: সি প্রোগ্রামিং ডু...হোয়াইল লুপ

 

kt_satt_skill_example_id=218

 

testExpression এর ভ্যালু কখন True এবং কখন False হয়ঃ রিলেশনাল(relational) এবং লজিক্যাল(logical) অপারেরটর পেজে আলোচনা করা হয়েছে।

common.content_added_and_updated_by

সি ব্রেক (C break statement)

517
517

লুপের সাধারণ ফ্লো(flow) কে বন্ধ করে দেওয়ার জন্য প্রোগ্রামিং এ break স্টেটমেন্ট ব্যবহৃত হয়। এই অধ্যায়ে আপনি break স্টেটমেন্ট ব্যবহার করে সি প্রোগ্রামিং এর বিভিন্ন লুপকে তাৎক্ষনিক বন্ধ করে দেয়া শিখবেন।


মাঝে মাঝে টেষ্ট এক্সপ্রেশনকে চেক করা ছাড়াই লুপকে তাৎক্ষনিক বন্ধ করে দেওয়ার প্রয়োজন হয়। এক্ষেত্রে break স্টেটমেন্ট ব্যবহৃত হয়।

সি প্রোগ্রামিং break স্টেটমেন্ট

 

সি প্রোগ্রাম break স্টেটমেন্টের সাক্ষাৎ পাওয়া মাত্রই ব্রেক স্টেটমেন্ট for, while এবং do...while লুপকে তাৎক্ষনিক খতম করে ফেলে। সিদ্ধান্ত গ্রহণের জন্য ব্যবহৃত স্টেটমেন্ট যেমন-if...else স্টেটমেন্টে break স্টেটমেন্ট ব্যবহৃত হয়।


ব্রেক স্টেটমেন্টের সিনট্যাক্স

break;

ব্রেক স্টেটমেন্টের ফ্লোচার্ট

break স্টেটমেন্ট এর ফ্লোচার্ট


ব্রেক স্টেটমেন্ট কিভাবে কাজ করে?

Working of break statement


উদাহরন ১: ব্রেক স্টেটমেন্ট

 

kt_satt_skill_example_id=219

 

উদাহরন ২: ব্রেক স্টেটমেন্ট

 

kt_satt_skill_example_id=220

 

উপরের প্রোগ্রাম সর্বোচ্চ ১৫ টি সংখ্যার যোগফল নির্ণয় করে। কিন্তু ৬ নাম্বার ইনপুটে break স্টেটমেন্টের সাক্ষাৎ মেলায় সঙ্গে সঙ্গেই for লুপের সমাপ্তি ঘটেছে।

 

সি প্রোগ্রামিং এ switch...case স্টেটমেন্টেও break স্টেটমেন্ট ব্যবহৃত হয়।


 

common.content_added_and_updated_by

সি কন্টিনিউ (C continue statement)

427
427

লুপের সাধারণ ফ্লো(flow) পরিবর্তন করার জন্য প্রোগ্রামিং এ continue স্টেটমেন্ট ব্যবহৃত হয়। এই অধ্যায়ে আপনি সি প্রোগ্রামিং continue স্টেটমেন্ট ব্যবহার করে সি প্রোগ্রামিং এর বিভিন্ন লুপের ফ্লো পরিবর্তন করা শিখবেন।


লুপের ভেতরের কিছু স্টেটমেন্টকে মাঝে মাঝে এড়িয়ে যাওয়ার প্রয়োজন হয়। এক্ষেত্রে continue স্টেটমেন্ট ব্যবহৃত হয়।

সি প্রোগ্রামিং continue স্টেটমেন্ট

 

continue স্টেটমেন্ট লুপের মধ্যে কিছু স্টেটমেন্টকে এড়িয়ে যায়। সিদ্ধান্ত গ্রহণের জন্য ব্যবহৃত স্টেটমেন্ট যেমন- if...else স্টেটমেন্টে continue স্টেটমেন্ট ব্যবহৃত হয়।


সি প্রোগ্রামিং continue স্টেটমেন্টের সিনট্যাক্স

 

continue;

 


সি প্রোগ্রামিং continue স্টেটমেন্টের ফ্লোচার্ট

Flowchart of continue statement


সি প্রোগ্রামিং continue স্টেটমেন্ট কিভাবে কাজ করে?

Working of continue statement in C programming


উদাহরন ১: সি প্রোগ্রামিং continue স্টেটমেন্ট

 

kt_satt_skill_example_id=223

 

উদাহরনঃ সি প্রোগ্রামিং continue স্টেটমেন্ট

 

kt_satt_skill_example_id=225

 

উপরের প্রোগ্রামে ইউজার ধনাত্মক সংখ্যা প্রবেশ করালে sum += number; স্টেটমেন্টের মাধ্যমে যোগফল নির্ণয় হতে থাকে।

কিন্তু ইউজার যখন ঋণাত্মক সংখ্যা প্রবেশ করায় তখন continue স্টেটমেন্ট এক্সিকিউট(execute) হয় এবং ঋণাত্মক সংখ্যাকে গণনা থেকে বাদ রাখে।

common.content_added_and_updated_by

সি সুইচ স্টেটমেন্ট (C switch statement)

384
384

এই অধ্যায় শেষে আপনি সি প্রোগ্রামিং এ সুইচ(switch) স্টেটমেন্ট লেখা শিখবেন।


সি প্রোগ্রামিং switch...case স্টেটমেন্ট

 

নেস্টেড if...else স্টেটমেন্ট ব্যবহার করে আপনি অনেক ভ্যালুর বিপরীতে কোনো একটি নির্দিষ্ট কোড ব্লককে এক্সিকিউট(execute) করতে পারেন। কিন্তু আপনি যদি সিঙ্গেল ভ্যারিয়েবলের ভ্যালু চেক করাতে চান তাহলে nested if...else স্টেটমেন্টের পরিবর্তে switch স্টেটমেন্ট ব্যবহার করাই উত্তম হবে।

switch স্টেটমেন্ট প্রায়ই নেস্টেট if...else স্টেটমেন্টের চেয়ে দ্রুততর এবং সুইস স্টেটমেন্টের সিনট্যাক্সও তুলনামূলক সহজ ও স্বচ্ছ।


সি সুইস সিনট্যাক্স

 

switch (expression)
 {
    case value1:
        //expression এর ভ্যালু value1 এর সমান হলে এই কোড এক্সিকিউট হবে;
        break;

    case value2:
        //expression এর ভ্যালু value2 এর সমান হলে এই কোড এক্সিকিউট হবে;
        break;
        .
        .
        .
    default:
        //expression এর ভ্যালু কোনো value এর সমান না হলে  এই কোড এক্সিকিউট হবে;
}

 


 

switch...case স্টেটমেন্ট কিভাবে কাজ করে?

 

  • উপরের সিনট্যাক্সে expression প্রোগ্রামে শুধুমাত্র একবার এক্সিকিউশন(execution) হয়।
  • এক্সপ্রেশনের ভ্যালু সুইস ব্লকের যেই case value এর সাথে মিলে যায় প্রোগ্রাম কন্ট্রোল তার কাছে চলে আসে ফলে সেই case value এর কোড ব্লকটি সম্পাদিত(execution) হয়।
  • উপরের সিউডোকোড(pseudocode) এ expression এর ভ্যালু যদি value2 এর সমান হয় তাহলে কম্পাইলার case value2 এর কোড ব্লককে এক্সিকিউট করবে।
  • case value2 এর পরে কোনো break স্টেটমেন্ট না থাকলে সুইস ব্লকের শেষ পর্যন্ত এক্সিকিউশন হবে।
  • এক্সপ্রেশনের ভ্যালু সুইস ব্লকের কোনো case value এর সাথে না মিললে default এর কোড ব্লকটি সম্পাদিত হবে।
  • পরবর্তী case কে এক্সিকিউট থেকে বাধা দিতে break স্টেটমেন্ট ব্যবহার করা হয়।

সি সুইস স্টেটমেন্ট ফ্লোচার্ট

সুইস স্টেটমেন্ট এর ফ্লোচার্ট

 

উদাহরন ১: সুইস স্টেটমেন্ট

 

kt_satt_skill_example_id=230

 

উপরের প্রোগ্রামে ইউজার 4 ইনপুট দেওয়ায় এক্সপ্রেশনের ভ্যালু case 4 : এর সাথে মিলে গেছে এবং Tuesday প্রিন্ট হয়েছে।


 উদাহরন ২: সুইস স্টেটমেন্ট

 

kt_satt_skill_example_id=232

 

ইউজার - অপারেটর ইনপুট দেওয়ায় ইহা oparetor ভ্যারিয়েবলে জমা হয়েছে। এবং দুটি অপারেন্ড 32.5 এবং 12.4 ইনপুট দেওয়ায় এগুলো যথাক্রমে  firstNumber এবং secondNumber ভ্যারিয়েবলে জমা হয়েছে।

তারপরে প্রোগ্রামের কন্ট্রোল নিচের ব্লকে জাম্প করে।

printf("%.1lf - %.1lf = %.1lf",firstNumber, secondNumber, firstNumber-firstNumber);

অবশেষে break statement সুইস স্টেটমেন্টের সমাপ্তি ঘটায়।

যদি break স্টেটমেন্ট ব্যবহার করা না হত তাহলে সঠিক case এর পরবর্তী সকল case এক্সিকিউট(execute) হত। 

common.content_added_and_updated_by

সি গোটু (C goto statement)

523
523

এই অধ্যায়ে আপনি সি প্রোগ্রামে goto স্টেটমেন্ট তৈরি করা শিখবেন। এছাড়া goto স্টেটমেন্ট কখন ব্যবহার করতে হবে এবং কখন করতে হবে না তাও শিখবেন।


সি প্রোগ্রামিং গোটু স্টেটমেন্ট

সি প্রোগ্রামে goto স্টেটমেন্ট জাম্প(jump) স্টেটমেন্ট হিসাবে পরিচিত।

সি প্রোগ্রামের সাধারণ ধারাকে পরিবর্তন করার জন্য goto স্টেটমেন্ট ব্যবহার করা হয়।

সি goto সিনট্যাক্স

 

goto label;
... .. ...
... .. ...
... .. ...
label: 
statement;

 

এখানে label হলো আইডেন্টিফায়ার। যখন প্রোগ্রাম goto স্টেটমেন্টের দেখা পায় তখন প্রোগ্রামের কন্ট্রোল label:এর কাছে জাম্প(jump) করে এবং label ব্লকের এক্সিকিউশন(execution) শুরু হয়।

How goto statement works?

উদাহরনঃ goto Statement

 

kt_satt_skill_example_id=247

 

goto স্টেটমেন্ট ব্যবহার না করার কারণ

 

goto এর ব্যবহার প্রোগ্রামকে কঠিন করে ফেলে এবং অনেক সময় মনে হতে পারে প্রোগ্রামে bug রয়েছে। উদাহরনস্বরুপঃ

one: 
for (i = 0; i < number; ++i)
{
    test += i;
    goto two;
}
two: 
if (test > 5) {
  goto three;
}
... .. ...

 

যাইহোক goto statement মাঝে মাঝে উপকারীও হতে পারে। যেমন- নেস্টেট লুপ থেকে ব্রেক নিতে চাইলে।


goto স্টেটমেন্ট ব্যবহার উচিৎ/ উচিৎ না?

আপনি যদি মনে করেন goto স্টেটমেন্টের ব্যবহার আপনার প্রোগ্রামকে সহজ করে তুলবে তাহলে আপনি ইহা ব্যবহার করতে পারেন। কারণ এখানকার উদ্দেশ্য হলো কোড সহজ করা যতে আপনার অনুসারীরা খুব সহজেই আপনার কোড বুঝতে পারে।

common.content_added_and_updated_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion